/**
 * 添加时弹窗
 */
function showAddBox() {
	$('#editSite').combobox('setValue',"");
	$('#siteName').val("");
    $('#taskId').textbox('setValue',"");
    $('#cronExpression').textbox('setValue',"");
    //$('#taskClass').textbox('setValue',"");
    $("#taskClass").combobox("setValue","");
    $('#taskName').textbox('setValue',"");
    $('#params').textbox('setValue',"");
    $('#serverNode').textbox('setValue',"");
    $("#id").val("");
	$('#edit-task-entity-box').show().window('open');
}

/**
 * 编辑弹窗
 */
function showEditBox() {
	var row = $('#task-entity-list-box').datagrid('getSelected');
	if (row) {
		$.ajax({
			type : 'POST',
			url : 'taskEntity/edit',
			data : {'id' : row.id},
			dataType : 'JSON',
			success : function(data) {
				$('#editSite').combobox('setValue',data.siteId);
				$('#siteName').val(data.siteName);
                $("#taskId").textbox("setValue",data.taskId);
                $("#cronExpression").textbox("setValue",data.cronExpression);
                //$("#taskClass").textbox("setValue",data.taskClass);
                $("#taskClass").combobox("setValue",data.taskClass);
                $("#taskName").textbox("setValue",data.taskName);
                $('#params').textbox('setValue',data.params);
                $('#serverNode').textbox('setValue',data.serverNode);
                $("#id").val(data.id);
                $('#edit-task-entity-box').show().window('open');
			},
			error : function(data) {
				$.messager.alert('Info', data.message, 'info');
			}
		});
	} else {
		$.messager.alert('Warn', "请点击选择需要修改的记录！", 'warn');
	}
}


$(function(){
	$('#editSite').combobox({
		onSelect:function(record){
			$("#siteName").val(record.name);
		}
	})
	
	$("#taskClass").combobox({
		data:getCommonInfoList("taskType"), 
		valueField:'value', 
		textField:'label'
	});
})
/**
 * 提交添加表单
 */
function submitSaveTaskEntity() {
	$('#edit-task-entity-form').form('submit', {
		onSubmit : function() {
			return $(this).form('validate');
		},
		success : function(data) {
			var data = eval('(' + data + ')');
			$.messager.alert('Info', data.message, 'info');
			$('#edit-task-entity-box').dialog('close');
			$('#task-entity-list-box').datagrid('reload');
		}
	});
}

/**
 * 提交查询
 */
function doSearch() {
	$('#task-entity-list-box').datagrid('load', {
        taskId: $('#s-taskId').textbox('getValue'),
        cronExpression: $('#s-cronExpression').textbox('getValue'),
        taskClass: $('#s-taskClass').textbox('getValue'),
        taskName: $('#s-taskName').textbox('getValue'),
	});
}


/**
 * 重置查询条件
 * @returns
 */
function resetSearchForm(){
    $('#s-taskId').textbox('setValue',"");
    $('#s-cronExpression').textbox('setValue',"");
    $('#s-taskClass').textbox('setValue',"");
    $('#s-taskName').textbox('setValue',"");
}


/**
 * 刪除选择行
 */
function deleteTaskEntity() {
	var row = $('#task-entity-list-box').datagrid('getSelected');
	if(row){
		$.messager.confirm('删除信息', '确定刪除当前选中记录?',
			function(r) {
				if (r) {
					$.ajax({
						type : 'POST',
						url : 'taskEntity/delete',
						data : {'id' : row.id},
						dataType: 'JSON',
						success : function(data) {
							$.messager.alert('Info', data.message, 'info');
							$('#task-entity-list-box').datagrid('reload');
						},
						error : function(data) {
							var data = eval('(' + data + ')');
							$.messager.alert('Info', "刪除失败，请联系管理员！", 'info');
						}
					});
				}
			});
	} else {
		$.messager.alert('Warn', "请点击选择需要刪除的记录！", 'warn');
	}
}

/**
 * 格式化任务状态
 * @param value
 * @returns
 */
function formatStauts(value){
	if(value == 1) return "<font color='green'>正常</font>";
	return "<font color='red'>冻结</font>";
}

/**
 * 格式化操作列
 * @param value
 * @param row
 * @param index
 * @returns
 */
function formatOperator(value, row, index){
	if(row.status == 1){
		return "<a style='color:blue;' href='javascript:void(0);' onclick='runNow(" + row.id + ");'>立即執行</a>"
	}
	return "";
}

/**
 * 立即執行一次
 * @returns
 */
function runNow(id){
	$.messager.confirm('提示信息', '确定立即执行当前任务?',function(r) {
		if (r) {
			$.ajax({
				type : 'POST',
				url : 'taskEntity/run',
				data : {'id' : id},
				dataType: 'JSON',
				beforeSend: function () {
					$.messager.progress({
						title: '提示',
						msg: '系统处理中……',
						text: ''
					});
				},
				complete: function () {
					$.messager.progress('close');
				},
				success : function(data) {
					$.messager.alert('Info', data.message, 'info');
				},
				error : function(data) {
					var data = eval('(' + data + ')');
					$.messager.alert('Info', "操作异常，请联系管理员！", 'info');
				}
			});
		}
	});
}



/**
 * 冻结或恢复任务
 * @returns
 */
function setTaskStatus(status){
	var row = $('#task-entity-list-box').datagrid('getSelected');
	if(row){
		if(row.status != status){
			$.messager.confirm('提示信息', '确定' + (status == 0 ? '冻结' : '恢复') + '当前选中记录?',
				function(r) {
					if (r) {
						$.ajax({
							type : 'POST',
							url : 'taskEntity/updateStatus',
							data : {'id' : row.id, 'status':status},
							dataType: 'JSON',
							success : function(data) {
								$.messager.alert('Info', data.message, 'info');
								$('#task-entity-list-box').datagrid('reload');
							},
							error : function(data) {
								var data = eval('(' + data + ')');
								$.messager.alert('Info', "操作失败，请联系管理员！", 'info');
							}
						});
					}
				});
		}else{
			$.messager.alert('Warn', "当前任务状态已经是" + (status == 0 ? '冻结状态' : '正常状态'), 'warn');
		}
	} else {
		$.messager.alert('Warn', "请点击选择需要操作的记录！", 'warn');
	}
}

/**
 * 格式化输出定时任务类
 * @param value
 * @param row
 * @param index
 * @returns
 */
function formatTaskClass(value, row, index){
	return commonFormat("taskType", value);
}